# -*- coding: utf-8 -*-

# @Project : fastapi-tutorial
# @Date    : 20240327-1522
# @Author  : robin

import os
import sys
from dotenv import load_dotenv
# Load environment variables from openai.env file
load_dotenv("../.env")

#定义llm
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(
    temperature=0,
    model="gpt-3.5-turbo",
)

# 搭建工具
#
# serpai是一个聚合搜索引擎，需要安装谷歌搜索包以及申请账号 https://serpapi.com/manage-api-key
# llm-math是一个封装好的数学计算链

# ! pip install google-search-results

import os
os.environ["SERPAPI_API_KEY"] = "e7b15718df583476214651b32a4e835523f3bac273d511341a1de30430b2164e"

from langchain.agents import load_tools

tools = load_tools(["serpapi","llm-math"], llm=llm)

# 定义agent,使用小样本增强生成类型
from langchain.agents import initialize_agent
from langchain.agents import AgentType

agent = initialize_agent(
    tools,
    llm,
    agent=AgentType.ZERO_SHOT_REACT_DESCRIPTION, # 这里有不同的类型
    verbose=True,#是否打印日志
)

r = agent.run("请问现任的美国总统是谁？他的年龄的平方是多少?")
print(r)
